import { axios } from '@/utils/request'

/**
 * 批量重置代理
 * @param {Object} data 包含订单ID列表的数据对象
 * @param {Function} success 成功回调
 * @param {Function} fail 失败回调
 */
export function batchResetProxy(data, success, fail) {
  // 使用旧的一键重置接口
  // 将订单ID数组转换为逗号分隔的字符串
  const orderIdsString = data.orderIds.join(',')
  
  return axios({
    url: '/api/orders/order_list/one_key_reset',
    method: 'post',
    data: {
      order_ids: orderIdsString
    }
  }).then(res => {
    success && success({
      code: 2000,
      data: {
        success_count: data.orderIds.length,
        failed_count: 0,
        failed_orders: []
      },
      message: res.message || `成功重置 ${data.orderIds.length} 个订单的代理`
    })
  }).catch(error => {
    fail && fail(error)
  })
}

/**
 * 导出订单数据
 * @param {Object} params 查询参数，包含订单ID列表
 * @param {Function} success 成功回调
 * @param {Function} fail 失败回调
 */
export function exportOrdersData(params, success, fail) {
  return axios({
    url: '/api/orders/export',
    method: 'get',
    params,
    responseType: 'blob'
  }).then(res => {
    success && success(res)
  }).catch(error => {
    fail && fail(error)
  })
}

/**
 * 搜索订单
 * @param {Object} params 搜索参数
 * @param {Function} success 成功回调
 * @param {Function} fail 失败回调
 */
export function searchOrders(params, success, fail) {
  return axios({
    url: '/api/orders/search',
    method: 'get',
    params
  }).then(res => {
    success && success(res)
  }).catch(error => {
    fail && fail(error)
  })
}
